package com.vivo.house.entity;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class ManagePackageUnitExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public ManagePackageUnitExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(String value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(String value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(String value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(String value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(String value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(String value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLike(String value) {
            addCriterion("id like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotLike(String value) {
            addCriterion("id not like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<String> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<String> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(String value1, String value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(String value1, String value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andFkBuildstageIsNull() {
            addCriterion("fk_buildStage is null");
            return (Criteria) this;
        }

        public Criteria andFkBuildstageIsNotNull() {
            addCriterion("fk_buildStage is not null");
            return (Criteria) this;
        }

        public Criteria andFkBuildstageEqualTo(String value) {
            addCriterion("fk_buildStage =", value, "fkBuildstage");
            return (Criteria) this;
        }

        public Criteria andFkBuildstageNotEqualTo(String value) {
            addCriterion("fk_buildStage <>", value, "fkBuildstage");
            return (Criteria) this;
        }

        public Criteria andFkBuildstageGreaterThan(String value) {
            addCriterion("fk_buildStage >", value, "fkBuildstage");
            return (Criteria) this;
        }

        public Criteria andFkBuildstageGreaterThanOrEqualTo(String value) {
            addCriterion("fk_buildStage >=", value, "fkBuildstage");
            return (Criteria) this;
        }

        public Criteria andFkBuildstageLessThan(String value) {
            addCriterion("fk_buildStage <", value, "fkBuildstage");
            return (Criteria) this;
        }

        public Criteria andFkBuildstageLessThanOrEqualTo(String value) {
            addCriterion("fk_buildStage <=", value, "fkBuildstage");
            return (Criteria) this;
        }

        public Criteria andFkBuildstageLike(String value) {
            addCriterion("fk_buildStage like", value, "fkBuildstage");
            return (Criteria) this;
        }

        public Criteria andFkBuildstageNotLike(String value) {
            addCriterion("fk_buildStage not like", value, "fkBuildstage");
            return (Criteria) this;
        }

        public Criteria andFkBuildstageIn(List<String> values) {
            addCriterion("fk_buildStage in", values, "fkBuildstage");
            return (Criteria) this;
        }

        public Criteria andFkBuildstageNotIn(List<String> values) {
            addCriterion("fk_buildStage not in", values, "fkBuildstage");
            return (Criteria) this;
        }

        public Criteria andFkBuildstageBetween(String value1, String value2) {
            addCriterion("fk_buildStage between", value1, value2, "fkBuildstage");
            return (Criteria) this;
        }

        public Criteria andFkBuildstageNotBetween(String value1, String value2) {
            addCriterion("fk_buildStage not between", value1, value2, "fkBuildstage");
            return (Criteria) this;
        }

        public Criteria andAllJobUnitIsNull() {
            addCriterion("All_job_unit is null");
            return (Criteria) this;
        }

        public Criteria andAllJobUnitIsNotNull() {
            addCriterion("All_job_unit is not null");
            return (Criteria) this;
        }

        public Criteria andAllJobUnitEqualTo(String value) {
            addCriterion("All_job_unit =", value, "allJobUnit");
            return (Criteria) this;
        }

        public Criteria andAllJobUnitNotEqualTo(String value) {
            addCriterion("All_job_unit <>", value, "allJobUnit");
            return (Criteria) this;
        }

        public Criteria andAllJobUnitGreaterThan(String value) {
            addCriterion("All_job_unit >", value, "allJobUnit");
            return (Criteria) this;
        }

        public Criteria andAllJobUnitGreaterThanOrEqualTo(String value) {
            addCriterion("All_job_unit >=", value, "allJobUnit");
            return (Criteria) this;
        }

        public Criteria andAllJobUnitLessThan(String value) {
            addCriterion("All_job_unit <", value, "allJobUnit");
            return (Criteria) this;
        }

        public Criteria andAllJobUnitLessThanOrEqualTo(String value) {
            addCriterion("All_job_unit <=", value, "allJobUnit");
            return (Criteria) this;
        }

        public Criteria andAllJobUnitLike(String value) {
            addCriterion("All_job_unit like", value, "allJobUnit");
            return (Criteria) this;
        }

        public Criteria andAllJobUnitNotLike(String value) {
            addCriterion("All_job_unit not like", value, "allJobUnit");
            return (Criteria) this;
        }

        public Criteria andAllJobUnitIn(List<String> values) {
            addCriterion("All_job_unit in", values, "allJobUnit");
            return (Criteria) this;
        }

        public Criteria andAllJobUnitNotIn(List<String> values) {
            addCriterion("All_job_unit not in", values, "allJobUnit");
            return (Criteria) this;
        }

        public Criteria andAllJobUnitBetween(String value1, String value2) {
            addCriterion("All_job_unit between", value1, value2, "allJobUnit");
            return (Criteria) this;
        }

        public Criteria andAllJobUnitNotBetween(String value1, String value2) {
            addCriterion("All_job_unit not between", value1, value2, "allJobUnit");
            return (Criteria) this;
        }

        public Criteria andAllJobScopeIsNull() {
            addCriterion("All_job_scope is null");
            return (Criteria) this;
        }

        public Criteria andAllJobScopeIsNotNull() {
            addCriterion("All_job_scope is not null");
            return (Criteria) this;
        }

        public Criteria andAllJobScopeEqualTo(String value) {
            addCriterion("All_job_scope =", value, "allJobScope");
            return (Criteria) this;
        }

        public Criteria andAllJobScopeNotEqualTo(String value) {
            addCriterion("All_job_scope <>", value, "allJobScope");
            return (Criteria) this;
        }

        public Criteria andAllJobScopeGreaterThan(String value) {
            addCriterion("All_job_scope >", value, "allJobScope");
            return (Criteria) this;
        }

        public Criteria andAllJobScopeGreaterThanOrEqualTo(String value) {
            addCriterion("All_job_scope >=", value, "allJobScope");
            return (Criteria) this;
        }

        public Criteria andAllJobScopeLessThan(String value) {
            addCriterion("All_job_scope <", value, "allJobScope");
            return (Criteria) this;
        }

        public Criteria andAllJobScopeLessThanOrEqualTo(String value) {
            addCriterion("All_job_scope <=", value, "allJobScope");
            return (Criteria) this;
        }

        public Criteria andAllJobScopeLike(String value) {
            addCriterion("All_job_scope like", value, "allJobScope");
            return (Criteria) this;
        }

        public Criteria andAllJobScopeNotLike(String value) {
            addCriterion("All_job_scope not like", value, "allJobScope");
            return (Criteria) this;
        }

        public Criteria andAllJobScopeIn(List<String> values) {
            addCriterion("All_job_scope in", values, "allJobScope");
            return (Criteria) this;
        }

        public Criteria andAllJobScopeNotIn(List<String> values) {
            addCriterion("All_job_scope not in", values, "allJobScope");
            return (Criteria) this;
        }

        public Criteria andAllJobScopeBetween(String value1, String value2) {
            addCriterion("All_job_scope between", value1, value2, "allJobScope");
            return (Criteria) this;
        }

        public Criteria andAllJobScopeNotBetween(String value1, String value2) {
            addCriterion("All_job_scope not between", value1, value2, "allJobScope");
            return (Criteria) this;
        }

        public Criteria andContactsIsNull() {
            addCriterion("contacts is null");
            return (Criteria) this;
        }

        public Criteria andContactsIsNotNull() {
            addCriterion("contacts is not null");
            return (Criteria) this;
        }

        public Criteria andContactsEqualTo(String value) {
            addCriterion("contacts =", value, "contacts");
            return (Criteria) this;
        }

        public Criteria andContactsNotEqualTo(String value) {
            addCriterion("contacts <>", value, "contacts");
            return (Criteria) this;
        }

        public Criteria andContactsGreaterThan(String value) {
            addCriterion("contacts >", value, "contacts");
            return (Criteria) this;
        }

        public Criteria andContactsGreaterThanOrEqualTo(String value) {
            addCriterion("contacts >=", value, "contacts");
            return (Criteria) this;
        }

        public Criteria andContactsLessThan(String value) {
            addCriterion("contacts <", value, "contacts");
            return (Criteria) this;
        }

        public Criteria andContactsLessThanOrEqualTo(String value) {
            addCriterion("contacts <=", value, "contacts");
            return (Criteria) this;
        }

        public Criteria andContactsLike(String value) {
            addCriterion("contacts like", value, "contacts");
            return (Criteria) this;
        }

        public Criteria andContactsNotLike(String value) {
            addCriterion("contacts not like", value, "contacts");
            return (Criteria) this;
        }

        public Criteria andContactsIn(List<String> values) {
            addCriterion("contacts in", values, "contacts");
            return (Criteria) this;
        }

        public Criteria andContactsNotIn(List<String> values) {
            addCriterion("contacts not in", values, "contacts");
            return (Criteria) this;
        }

        public Criteria andContactsBetween(String value1, String value2) {
            addCriterion("contacts between", value1, value2, "contacts");
            return (Criteria) this;
        }

        public Criteria andContactsNotBetween(String value1, String value2) {
            addCriterion("contacts not between", value1, value2, "contacts");
            return (Criteria) this;
        }

        public Criteria andContactNumberIsNull() {
            addCriterion("Contact_number is null");
            return (Criteria) this;
        }

        public Criteria andContactNumberIsNotNull() {
            addCriterion("Contact_number is not null");
            return (Criteria) this;
        }

        public Criteria andContactNumberEqualTo(String value) {
            addCriterion("Contact_number =", value, "contactNumber");
            return (Criteria) this;
        }

        public Criteria andContactNumberNotEqualTo(String value) {
            addCriterion("Contact_number <>", value, "contactNumber");
            return (Criteria) this;
        }

        public Criteria andContactNumberGreaterThan(String value) {
            addCriterion("Contact_number >", value, "contactNumber");
            return (Criteria) this;
        }

        public Criteria andContactNumberGreaterThanOrEqualTo(String value) {
            addCriterion("Contact_number >=", value, "contactNumber");
            return (Criteria) this;
        }

        public Criteria andContactNumberLessThan(String value) {
            addCriterion("Contact_number <", value, "contactNumber");
            return (Criteria) this;
        }

        public Criteria andContactNumberLessThanOrEqualTo(String value) {
            addCriterion("Contact_number <=", value, "contactNumber");
            return (Criteria) this;
        }

        public Criteria andContactNumberLike(String value) {
            addCriterion("Contact_number like", value, "contactNumber");
            return (Criteria) this;
        }

        public Criteria andContactNumberNotLike(String value) {
            addCriterion("Contact_number not like", value, "contactNumber");
            return (Criteria) this;
        }

        public Criteria andContactNumberIn(List<String> values) {
            addCriterion("Contact_number in", values, "contactNumber");
            return (Criteria) this;
        }

        public Criteria andContactNumberNotIn(List<String> values) {
            addCriterion("Contact_number not in", values, "contactNumber");
            return (Criteria) this;
        }

        public Criteria andContactNumberBetween(String value1, String value2) {
            addCriterion("Contact_number between", value1, value2, "contactNumber");
            return (Criteria) this;
        }

        public Criteria andContactNumberNotBetween(String value1, String value2) {
            addCriterion("Contact_number not between", value1, value2, "contactNumber");
            return (Criteria) this;
        }

        public Criteria andCreateDateIsNull() {
            addCriterion("Create_date is null");
            return (Criteria) this;
        }

        public Criteria andCreateDateIsNotNull() {
            addCriterion("Create_date is not null");
            return (Criteria) this;
        }

        public Criteria andCreateDateEqualTo(Date value) {
            addCriterion("Create_date =", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateNotEqualTo(Date value) {
            addCriterion("Create_date <>", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateGreaterThan(Date value) {
            addCriterion("Create_date >", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateGreaterThanOrEqualTo(Date value) {
            addCriterion("Create_date >=", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateLessThan(Date value) {
            addCriterion("Create_date <", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateLessThanOrEqualTo(Date value) {
            addCriterion("Create_date <=", value, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateIn(List<Date> values) {
            addCriterion("Create_date in", values, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateNotIn(List<Date> values) {
            addCriterion("Create_date not in", values, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateBetween(Date value1, Date value2) {
            addCriterion("Create_date between", value1, value2, "createDate");
            return (Criteria) this;
        }

        public Criteria andCreateDateNotBetween(Date value1, Date value2) {
            addCriterion("Create_date not between", value1, value2, "createDate");
            return (Criteria) this;
        }

        public Criteria andLastmodifyDateIsNull() {
            addCriterion("lastModify_date is null");
            return (Criteria) this;
        }

        public Criteria andLastmodifyDateIsNotNull() {
            addCriterion("lastModify_date is not null");
            return (Criteria) this;
        }

        public Criteria andLastmodifyDateEqualTo(Date value) {
            addCriterion("lastModify_date =", value, "lastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andLastmodifyDateNotEqualTo(Date value) {
            addCriterion("lastModify_date <>", value, "lastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andLastmodifyDateGreaterThan(Date value) {
            addCriterion("lastModify_date >", value, "lastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andLastmodifyDateGreaterThanOrEqualTo(Date value) {
            addCriterion("lastModify_date >=", value, "lastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andLastmodifyDateLessThan(Date value) {
            addCriterion("lastModify_date <", value, "lastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andLastmodifyDateLessThanOrEqualTo(Date value) {
            addCriterion("lastModify_date <=", value, "lastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andLastmodifyDateIn(List<Date> values) {
            addCriterion("lastModify_date in", values, "lastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andLastmodifyDateNotIn(List<Date> values) {
            addCriterion("lastModify_date not in", values, "lastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andLastmodifyDateBetween(Date value1, Date value2) {
            addCriterion("lastModify_date between", value1, value2, "lastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andLastmodifyDateNotBetween(Date value1, Date value2) {
            addCriterion("lastModify_date not between", value1, value2, "lastmodifyDate");
            return (Criteria) this;
        }

        public Criteria andAddUserIsNull() {
            addCriterion("Add_user is null");
            return (Criteria) this;
        }

        public Criteria andAddUserIsNotNull() {
            addCriterion("Add_user is not null");
            return (Criteria) this;
        }

        public Criteria andAddUserEqualTo(String value) {
            addCriterion("Add_user =", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserNotEqualTo(String value) {
            addCriterion("Add_user <>", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserGreaterThan(String value) {
            addCriterion("Add_user >", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserGreaterThanOrEqualTo(String value) {
            addCriterion("Add_user >=", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserLessThan(String value) {
            addCriterion("Add_user <", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserLessThanOrEqualTo(String value) {
            addCriterion("Add_user <=", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserLike(String value) {
            addCriterion("Add_user like", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserNotLike(String value) {
            addCriterion("Add_user not like", value, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserIn(List<String> values) {
            addCriterion("Add_user in", values, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserNotIn(List<String> values) {
            addCriterion("Add_user not in", values, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserBetween(String value1, String value2) {
            addCriterion("Add_user between", value1, value2, "addUser");
            return (Criteria) this;
        }

        public Criteria andAddUserNotBetween(String value1, String value2) {
            addCriterion("Add_user not between", value1, value2, "addUser");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}